home *** CD-ROM | disk | FTP | other *** search
/ ftp.hitl.washington.edu / ftp.hitl.washington.edu.tar / ftp.hitl.washington.edu / pub / people / tsoper / CT Explorer / Board.cs < prev    next >
Text File  |  2005-05-23  |  2KB  |  95 lines

  1. using System;
  2. using System.Windows.Forms;
  3.  
  4. namespace PCIBird
  5. {
  6.     /// <summary>
  7.     /// Summary description for Board.
  8.     /// </summary>
  9.     public class Board
  10.     {
  11.         public SerialNumberPCBParameter SerialNumberPCB;
  12.  
  13.         PCIBirdWrapper pciBird;
  14.         public ushort id;
  15.  
  16.         //overloaded constructors
  17.         public Board()
  18.         {
  19.             //create wrapper library
  20.             pciBird = new PCIBirdWrapper();
  21.             id = 0; //initialize id to 0
  22.             LoadParameters();
  23.         }
  24.         public Board(ushort ID)
  25.         {
  26.             //create wrapper library
  27.             pciBird = new PCIBirdWrapper();
  28.             id = ID;
  29.             LoadParameters();
  30.         }
  31.         public Board(ushort ID, PCIBirdWrapper pciBirdWrapper)
  32.         {
  33.             //create wrapper library
  34.             pciBird = pciBirdWrapper;
  35.             id = ID;
  36.             LoadParameters();
  37.         }
  38.  
  39.  
  40.         private void LoadParameters()
  41.         {
  42.             //instantiate parameters
  43.             SerialNumberPCB = new SerialNumberPCBParameter(id,pciBird);
  44.         }
  45.  
  46.         public BoardConfig GetBoardConfig()
  47.         {
  48.             return pciBird.GetBoardConfig(id);
  49.         }
  50.  
  51.         public void PrintBoardConfig(RichTextBox rtb)
  52.         {
  53.             BoardConfig bc = GetBoardConfig();
  54.  
  55.             
  56.             string ConfigStr =    "\n\nBOARD " + id + " CONFIGURATION:\n" +
  57.                             "Serial Number:        "    + bc.serialNumber + "\n" +
  58.                             "Type:            "    + bc.type + "\n" +
  59.                             "Revision:            " + bc.revision + "\n" +
  60.                             "Number Transmitters:    " + bc.numberTransmitters + "\n" +
  61.                             "Number Sensors:        "    + bc.numberSensors + "\n" +
  62.                             "Firmware Number:        "    + bc.firmwareNumber + "\n" +
  63.                             "Firmware Revision:        "    + bc.firmwareRevision + "\n" +
  64.                             "Model:            "    + bc.modelString;
  65.             
  66.             rtb.AppendText(ConfigStr);
  67.         }
  68.  
  69.         public void PrintBoardParameters( RichTextBox rtb )
  70.         {
  71.             string paramStr = "\n\nBOARD " + id + " PARAMETERS\n" +
  72.                 "Serial Number RX:    " + this.SerialNumberPCB.Get();
  73.         }
  74. /************************ PARAMETER CLASSES ***********************************/
  75.         public class SerialNumberPCBParameter
  76.         {
  77.             PCIBirdWrapper pciBird;
  78.             ushort id;
  79.  
  80.             public SerialNumberPCBParameter(ushort ID, PCIBirdWrapper pciBirdWrapper)
  81.             {
  82.                 id = ID;
  83.                 pciBird = pciBirdWrapper;
  84.             }
  85.  
  86.             public int Get()
  87.             {
  88.                 object o = new int(); 
  89.                 pciBird.GetBoardParam(id,BOARD_PARAMETER_TYPE.SERIAL_NUMBER_PCB,o,4);
  90.                 return Convert.ToInt32(o);
  91.             }
  92.         }
  93.     }
  94. }
  95.